home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 050 / madtrb13.arc / PRTEST.PAS < prev    next >
Pascal/Delphi Source File  |  1985-05-26  |  1KB  |  48 lines

  1. { Turbo Pascal routines to read printer status }
  2. { by Michael D Bates 614-446-8203 }
  3. {    c_Care, Inc. Health Management Software
  4.      Drawer 407
  5.      Gallipolis OH 45631 }
  6.  
  7. Function PrTest( WhichPrt : integer ) : boolean;
  8.  
  9. Type
  10.  
  11.   regtype      = Record
  12.                  ax,bx,cx,dx,bp,si,di,ds,es,flags: integer
  13.                  End;
  14. var  reg:     regtype;
  15.        i:     integer;
  16.  
  17. begin
  18.   reg.ax:=$0200;
  19.   reg.dx:=WhichPrt and $0002;          { Don't Allow Greater than 2 }
  20.   intr($17,reg);                       { 0 = 1st Ptr, 1 = 2nd Ptr   }
  21.   i := ((reg.ax and $ff00) shr 8);
  22.  
  23.   { prtest returns 8 Printer Deselected
  24.                   40 Out of Paper
  25.                  136 Printer of line
  26.                  144 All OK
  27.  
  28.     Bit Test is
  29.       0   = Timeout
  30.       1,2 = Unused
  31.       3   = I/O Error
  32.       4   = Selected
  33.       5   = Out of Paper
  34.       6   = Acknowledge
  35.       7   = Not Busy }
  36.  
  37.  
  38.   if (i = 144) then PrTest := True
  39.     else PrTest := False;
  40. end;
  41.  
  42. { Sample -- Delete for Function }
  43.  
  44. Begin
  45.   if PrTest(0) then Writeln('Printer is ready to Print')
  46.     else Writeln('Printer is not ready to Print');
  47. End.
  48.